package edu.cibertec.tag;

import java.util.ArrayList;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import edu.cibertec.bean.BeanCombo;
import edu.cibertec.dao.ComboDAO;
import edu.cibertec.dao.DAOFactory;




public class ComboDepartamentoTag extends TagSupport{

  String area;
  String seleccion;
  String funcion;
  
  
  
  public String getFuncion() {
	return funcion;
  }

	public void setFuncion(String funcion) {
		this.funcion = funcion;
	}

	public String getSeleccion() {
		return seleccion;
	}

  public void setSeleccion(String seleccion) {
    this.seleccion = seleccion;
  }

  public String getArea() {
    return area;
  }

  public void setArea(String area) {
    this.area = area;
  }




  public int doStartTag() throws JspException {

    // --- obteniendo los elementos del combo dinamico
        DAOFactory fabrica=
          DAOFactory.getDAOFactory(DAOFactory.MYSQL);
        
        ComboDAO combodao=fabrica.getComboDAO();
    
        try {

          ArrayList<BeanCombo> elementos;
        	
          String varea = this.getArea();
          if(varea!=null){
	          elementos=combodao.obtenerDepartamentoArea(varea);
	       
	      }else{
	         elementos = new ArrayList<BeanCombo>();  
	         System.out.println("ingresa");	  
	      }
	          
          // --- obteniendo el elemento a seleccionar
          String laseleccion = this.getSeleccion();
          if(laseleccion==null)laseleccion="";
          
          // -- referenciando al jsp 
          JspWriter salida=pageContext.getOut();
          salida.println("<select name=departamento onchange=");
          //System.out.println("<select name=usuario onchange="+ area);
          salida.println(this.getFuncion());
          salida.println(" >");
          salida.println("<option value=0 > Seleccione un departamento:");
        
          for(int i=0;i<elementos.size();i++){
        	
              BeanCombo elemento=elementos.get(i);
              salida.print("<option value=");
              salida.print(elemento.getCodigo());
              salida.print(elemento.getDescripcion());
              
              if(elemento.getCodigo().equals(laseleccion))
                salida.print(" selected > ");
              else
                salida.print(" > ");
              
              salida.println(elemento.getDescripcion());
              
             // ---no encontre el error pero el get cogigo imprime la descripcion, normal pues 
             // String yeah=(String)elemento.getCodigo();
             // System.out.println("elemento.getCodigo()"+ yeah);
              
          }
          salida.println("</select>");

          
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        
    
    
    
    
    return EVAL_BODY_INCLUDE;
    
  }
  
  
}

